Known slide processing systems couple an imager comprised of a slide-moving robot, optics, a camera, and a moving stage with a computer. One shortcoming of known slide processing systems is that they are tightly coupled in that for each imager there is an accompanying computer for analyzing the slides. As images are acquired from a given slide, they are analyzed at approximately the same time. When the entire slide has been digitized and all of its images have been analyzed, the slide is removed from the imager stage and the next slide is started.
With sparse slides (i.e., slides with relatively few cells), the computer is able to keep up with the incoming images, and the time it takes to analyze the slide is basically the same as the time it takes the imager to digitize it. However, for dense slides containing many cells or clusters, the computer analysis slows down, thereby causing overall slide processing times to increase, which negatively impacts system throughput.
Further, the computer that controls the imager is the same computer that is used to analyze the digitized images. This common or shared computer configuration places unreasonable constraints on the analysis software, and on the computer upon which it runs. As analysis algorithms are made more sensitive, accurate, and/or sophisticated, they tend to consume more computer resources, which consequently slow them down. Significant engineering effort is expended optimizing these algorithms so that the system throughput is not negatively impacted by more advanced analysis algorithms. Oftentimes, this time-consuming optimization step leads to compromising the image processing algorithm as a result of limited processing resources. In spite of these engineering efforts, in many cases, analysis algorithm improvements are not practical to deploy because they slow down the slide processing too much and negatively impact slide throughput.
It would be desirable, therefore, to have systems and methods that can analyze images more quickly and that can accommodate various processing needs.